iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
生成式 AI

被AI之箭射中了 - 是覺醒還是死去系列 第 2

Day02 - LLM 為什麼會漏掉細節?從 Context Window 到 Lost in the Middle 現象初探

  • 分享至 

  • xImage
  •  

前言

在過去開發的過程中,不知道你有沒有以下的這些經驗:

情境一: 針對某個功能跟 GPT 討論,該給的情境、需求都說完了,也糾正它的回覆好幾次,發現它像是不接受你的回饋,一直鬼打牆要你用它的方法。

情境二: 複製貼上大量的程式碼請它分析,發現它的回覆不夠完整,不是漏掉元件中其實有 import 、就是漏掉中間的 function 內容

那為什麼會發生這些事情呢?

但因為我好奇為什麼會這樣,所以試著在本篇進行初步的探索


LLM 會理解也會忘記

假設你今天在跟朋友聊 JOJO 的話題,中間你一句我一句,這過程的聊天內容對 LLM 來說,則被稱為 context ,LLM 跟人一樣會記住聊天內容 (context) 來進行回覆(如下圖)。

圖片來源:anthropic 官方文件

而圖中所謂的 Context window ,它代表的是 LLM 的記憶空間大小,其單位是 token。

你可以想像在跟朋友聊了好幾個小時後,你是不是會開始忘記剛見面聊天內容的細節,同理套用隨著 context 到達上限時,LLM 也會開始忘記一些對話細節。

不同模型的記憶上限都不同,這邊以平台使用舉例:
Plus 方案的 GPT5 可記憶的 context 上限約為 196k
Claude Sonnet 4 在 Beta 環境下可用 100 萬 token 的長上下文(超過 200K 會套用長上下文計價)。

當然,為了彌補模型本身的極限,不同應用都有各自的策略,盡力減輕這個問題帶來的影響,實作細節在這邊就不做太多的討論。

你聽過 Lost in the middle 嗎?

你有沒有幹過這樣的事情:

接下 jira 單後,找到了任務相關的元件檔案,因為想加速對元件內容的理解,就直接把整個元件內容丟給 LLM 解讀

https://ithelp.ithome.com.tw/upload/images/20250916/20141272ZfMTFEs64o.png

如果你發現它對一些功能細節的理解有所疏漏,你可以大膽的懷疑 肯定是中間的內容被疏漏了

這個現象被稱為 Lost in the middle,是在學術測試中被觀察到的:

當你把內容移到中間,準確率會顯著下降;放在開頭或結尾則較高

圖片來源:https://zhuanlan.zhihu.com/p/678614880

模型雖然「看得到」所有的 Prompt ,但在實務上會偏重開頭與結尾;中間的資訊較容易被忽略。

小提醒:這個學術測試發表於 2023 ,當時測試的 LLM 為 GPT-3.5-Turbo、Claude-1.3

結語:

在本篇我以自己開發經驗為發想,專注在解析現象與問題
在下一篇將把重點對焦回 如何處理、改善,試著舉一些實際開發的案例輔助說明

那麼,明天見。

-- to be continued --


參考


上一篇
Day01 - 為什麼前端的我會關注 AI
下一篇
Day03 - 新手也能上手的 LLM Prompt 優化術
系列文
被AI之箭射中了 - 是覺醒還是死去4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言